home *** CD-ROM | disk | FTP | other *** search
- font_size 11pt#;
- mode_setup;
- font_identifier "TS-MANUAL";
-
- beginchar("1",5.5pt#,7.5pt#,0); "Alternate";
- pickup pencircle scaled .85pt;
- x1=0.05w; y1=0;
- x2=x1; y2=h;
- x3=0.95w; y3=y2;
- x4=x3; y4=y1;
- fill z1--z2--z3--z4--cycle;
- x5=x1; y5=.5h;
- x6=.5w; y6=h;
- x7=x3; y7=y5;
- x8=x6; y8=0;
- undraw z5--z6--z7--z8--cycle;
- penlabels(1,2,3,4,5,6,7,8);
- endchar;
-
- %------------------------------------------------------------------------
-
- % Die ganze Palette an METAFONT-Logos
-
- def beginlogochar(expr code, unit_width) =
- beginchar(code,unit_width*u#+2s#,ht#,0);
- pickup logo_pen enddef;
-
- def super_half(suffix i,j,k) =
- draw z.i{0,y.j-y.i}
- ... (.8[x.j,x.i],.8[y.i,y.j]){z.j-z.i}
- ... z.j{x.k-x.i,0}
- ... (.8[x.j,x.k],.8[y.k,y.j]){z.k-z.j}
- ... z.k{0,y.k-y.j} enddef;
-
- slant:=0;
-
- def logoset(expr i) =
- ygap#:=(ht#/13.5u#)*xgap#; % vertical adjustment
- ho#:=o#; % horizontal overshoot
- leftstemloc#:=2.5u#+s#; % position of left stem
- barheight#:=.45ht#; % height of bar lines
- py#:=.9px#; % vertical pen thickness
-
- define_pixels(s,u);
- define_whole_pixels(xgap);
- define_whole_vertical_pixels(ygap);
- define_blacker_pixels(px,py);
- pickup pencircle xscaled px yscaled py;
- logo_pen:=savepen;
- define_good_x_pixels(leftstemloc);
- define_good_y_pixels(barheight);
- define_corrected_pixels(o);
- define_horizontal_corrected_pixels(ho);
-
- beginlogochar(i,18); % "M"
- x1=x2=leftstemloc; x4=x5=w-x1; x3=w-x3;
- y1=y5; y2=y4; bot y1=-o;
- top y2=h+o; y3=y1+ygap;
- draw z1--z2--z3--z4--z5;
- labels(1,2,3,4,5); endchar;
-
- beginlogochar(i+1,14); % "E"
- x1=x2=x3=leftstemloc;
- x4=x6=w-x1+ho; x5=x4-xgap;
- y1=y6; y2=y5; y3=y4;
- bot y1=0; top y3=h; y2=barheight;
- draw z6--z1--z3--z4; draw z2--z5;
- labels(1,2,3,4,5,6); endchar;
-
- beginlogochar(i+2,13); % "T"
- italcorr ht#*slant + .5u#;
- if .5w<>good.x .5w: change_width; fi
- lft x1=-eps; x2=w-x1; x3=x4=.5w;
- y1=y2=y3; top y1=h; bot y4=-o;
- draw z1--z2; draw z3--z4;
- labels(1,2,3,4); endchar;
-
- beginlogochar(i+3,15); % "A"
- x1=.5w; x2=x4=leftstemloc; x3=x5=w-x2;
- top y1=h+o; y2=y3=barheight;
- bot y4=bot y5=-o;
- draw z4--z2--z3--z5; super_half(2,1,3);
- labels(1,2,3,4,5); endchar;
-
- beginlogochar(i+4,14); % "F"
- x1=x2=x3=leftstemloc;
- x4=w-x1+ho; x5=x4-xgap;
- y2=y5; y3=y4; bot y1=-o;
- top y3=h; y2=barheight;
- draw z1--z3--z4; draw z2--z5;
- labels(1,2,3,4,5); endchar;
-
- beginlogochar(i+5,15); % "O"
- x1=x4=.5w; top y1=h+o; bot y4=-o;
- x2=w-x3=good.x(1.5u+s); y2=y3=barheight;
- super_half(2,1,3); super_half(2,4,3);
- labels(1,2,3,4); endchar;
-
- beginlogochar(i+6,15); % "N"
- x1=x2=leftstemloc; x3=x4=x5=w-x1;
- bot y1=bot y4=-o;
- top y2=top y5=h+o; y3=y4+ygap;
- draw z1--z2--z3; draw z4--z5;
- labels(1,2,3,4,5); endchar;
-
- ligtable i+2: i+3 kern -.5u#; % "T": "A"
- ligtable i+4: i+5 kern -u#; % "F": "O"
- enddef;
-
- % logo10 scaled 1100
- ht#:=6.6pt#; % height of characters
- xgap#:=0.66pt#; % horizontal adjustment
- u#:=4.4/9pt#; % unit width
- s#:=0; % extra space at the left and the right
- o#:=1.1/9pt#; % overshoot
- px#:=2.2/3pt#; % horizontal thickness of pen
- logoset(65) % now generate the font ("A".."G")
-
- % logo12
- ht#:=1.2*6pt#;
- xgap#:=1.2*0.6pt#;
- u#:=1.18436*4/9pt#;
- s#:=0;
- o#:=1/8.5pt#;
- px#:=1.2*2/3pt#;
- logoset(72); % now generate the font ("H".."N")
-
- % logobf10 scaled \magstephalf
- ht#:=1.1*6pt#;
- xgap#:=1.1*23/20*0.6pt#;
- u#:=1.1*23/20*4/9pt#;
- s#:=1.1*.1pt#;
- o#:=1.1/9pt#;
- px#:=1.1*44/36pt#;
- logoset(79); % now generate the font ("O".."U")
-
- % logobf10 scaled \magstep1
- ht#:=1.2*6pt#;
- xgap#:=1.2*23/20*0.6pt#;
- u#:=1.2*23/20*4/9pt#;
- s#:=1.2*.1pt#;
- o#:=1.2/9pt#;
- px#:=1.2*44/36pt#;
- logoset(97); % now generate the font ("a".."g")
-
- % logobf10 scaled \magstep2
- ht#:=1.44*6pt#;
- xgap#:=1.44*23/20*0.6pt#;
- u#:=1.44*23/20*4/9pt#;
- s#:=1.44*.1pt#;
- o#:=1.44/9pt#;
- px#:=1.44*44/36pt#;
- logoset(104); % now generate the font ("h".."n")
-
-
- %------------------------------------------------------------------------
-
- % Und nun noch das "dangerous bend" Symbol (thanx to Knuth)
-
- def font_setup=
- define_pixels(u,tiny,axis,hheight,border);
- define_blacker_pixels(hair,thin,thick,rulethickness);
- pickup if tiny<.5: nullpen else: pencircle scaled tiny fi;
- tinypen:=savepen;
- currenttransform:=identity yscaled aspect_ratio slanted slant;
- enddef;
-
- % typical cmr11 parameters
- u#:=22/36pt#;
- tiny#:=0;
- axis#:=99/36pt#;
- hheight#:=275/36pt#;
- border#:=22/36pt#;
- hair#:=8.8/36pt#;
- thin#:=9.9/36pt#;
- thick#:=27.5/36pt#;
- fixwidth:=0;
- slant:=0;
- rulethickness#:=.6pt#;
-
- baselinedistance#:=12pt#;
- heavyline#:=55/36pt#;
- font_setup;
- define_whole_pixels(baselinedistance);
- define_blacker_pixels(heavyline);
-
- beginchar(127,25u#,hheight#+border#,0); "Dangerous bend sign";
- pickup pencircle scaled rulethickness;
- top y1=25/27h; lft x4=0;
- x1+x1=x1a+x1b=x4b+x2a=x4+x2=x4a+x2b=x3b+x3a=x3+x3=w;
- x4a=x4b=x4+u; x3b=x1a=x1-2u;
- y4+y4=y4a+y4b=y3b+y1a=y3+y1=y3a+y1b=y2b+y2a=y2+y2=0;
- y1a=y1b=y1-2/27h; y4b=y2a=y4+4/27h;
- draw z1a..z1..z1b---z2a..z2..z2b---
- z3a..z3..z3b---z4a..z4..z4b---cycle; % signboard
- x10=x11=x12=x13=good.x(.5w-u); x14=x15=x16=x17=w-x10;
- y10=y14=28/27h+epsilon; bot y13=-baselinedistance;
- z11=(z10..z13) intersectionpoint (z1a{z1a-z4b}..z1{right});
- y15=y11; y16=y12=-y11; y17=y20=y21=y13;
- draw z11--z10--z14--z15; draw z12--z13; draw z16--z17; % signpost
- x20=w-x21; x21-x20=16u; draw z20--z21; % ground level
- x38=w-x31; x38-x31=8u; x32=x34=x38; x31=x35=x37;
- y31=-y38=12/27h; y32=-y37=9/27h; y34=-y35=3/27h;
- pickup pencircle scaled heavyline;
- draw z32{z32-z31}..z34---z35..z37{z38-z37}; % the dangerous bend
- pickup penrazor xscaled heavyline rotated (angle(z32-z31)+90);
- draw z31--z32; draw z37--z38; % upper and lower bars
- labels(1,1a,1b,2,2a,2b,3,3a,3b,4,4a,4b,10,11,12,13,14,15,16,17,20,21,
- 31,32,33,34,35,36,37,38);
- endchar;
-
- end.
-